import 去除企宽

if __name__ == '__main__':
    import pandas as pd

    df = pd.read_excel(r"D:\Download\WeChat Files\wxid_kdchbeq2xllp22\FileStorage\File\2025-06\1-5月工单(1).xlsx",
                       sheet_name=0,
                       usecols=['传输设备ip', '故障发生时间', '告警名称'], dtype=str)

    df['传输设备ip'] = df['传输设备ip'].str.replace(r'-\d+-\d+-\d+-\d+$', '', regex=True)

    temp = pd.read_csv(r"D:\家宽\综资\综资数据(更新至2025年5月27日)\OLT业务表的配置查询结果.csv", encoding="GBK",
                       usecols=['网管侧网元名称', '管理IP'])
    df = df.merge(temp, left_on='传输设备ip', right_on='网管侧网元名称', how='left')
    df['管理IP'] = df['管理IP'].fillna(df['传输设备ip'])
    df['告警名称'] = df['告警名称'].str.replace(r'\([^)]*\)', '', regex=True)
    t = 去除企宽.get_df("0101_0131", ['account', 'alarm_name', 'happen_time', 'olt_ip'])
    t['alarm_name'] = t['alarm_name'].str.replace(r'\([^)]*\)', '', regex=True)

    print(t['happen_time'])
    # 根据alarm_name, happen_time, olt_ip分组对account去重计数
    t_grouped = t.groupby(['alarm_name', 'happen_time', 'olt_ip'])['account'].nunique().reset_index()
    t_grouped = t_grouped.rename(columns={'account': '影响用户数'})
    # 将df和t根据这三列左连接
    result = pd.merge(
        df.rename(columns={'管理IP': 'olt_ip', '故障发生时间': 'happen_time', '告警名称': 'alarm_name'}),
        t_grouped,
        on=['alarm_name', 'happen_time', 'olt_ip'],
        how='left')
    result.to_excel("/temp/1月工单影响用户数.xlsx")
